iOS开发调试手册
2020-03-30
Technology
调试基础
利用控制台输出的错误信息
穴居人调试
Log
用于调试的字面表达
| 字面 | 类型 | 值 |
|---|---|---|
| #file | String | 表达式所在的文件名 |
| #line | Int | 表达式所在的行号 |
| #column | Int | 表达式开始的列号 |
| #function | String | 表达式声明的名称 |
LLDB
设置断点
- 单击取消
- 拖到外边删除
- Control + Click + 断点标记
在变量视图中查看变量
空格查看变量具体内容
调试栏
- 继续程序执行: 恢复程序的正常执行(到下一个断点)
- Step Over: 执行一行代码,并且不进入任何函数调用
- Step Into: 执行下一行代码,包括进入一个函数调用
- Step out: 继续函数执行直到跳出当前方法或函数调用
添加动作
有时候,你希望知道某段代码是否被执行了,但是又不希望程序断掉。比方说,判断循环有没有正确执行。
异常断点
有时候,程序崩溃,但是不知道在哪崩溃?
添加异常断点,可以帮助你段到崩溃的位置
符号断点
符号断点是是由函数(方法)名,也就是”符号“指定的断点。符号断点是在函数被调用的时候触发的。
一般情况下用不到,但是在查看一些系统方法什么时候被触发时可以用到。比方说,要知道ViewController的loadView是在什么时候执行的。
LLDB常用命令
| 命令 | 说明 |
|---|---|
| po | 打印 |
| p | 详细打印 |
| step | 单步 |
| expr | 添加代码,修改变量 |
| continue | 继续执行 |
| bt | 堆栈信息 |